package br.com.bb.cslsp.ejb.bean.acesso;

import java.io.Serializable;

import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.enterprise.context.RequestScoped;
import javax.faces.context.FacesContext;
import javax.inject.Inject;

import br.com.bb.cslsp.ejb.bean.usuario.UsuarioBean;
import br.com.bb.cslsp.ejb.dao.acesso.AcessoRegistroDAO;
import br.com.bb.cslsp.modelo.acesso.AcessoRegistro;
import br.com.bb.cslsp.util.jpa.QueryParameter;

@Stateless
public class AcessoUsuarioBean implements Serializable{

	private static final long serialVersionUID = 1L;

	@EJB
	private AcessoRegistroDAO dao;
	
	@EJB
	private UsuarioBean usuarioBean;
	
	public boolean existePorIdChave(Long id) {
		return dao.existePorNamedQuery(AcessoRegistro.BUSCA_POR_ID_E_CHAVE,QueryParameter.with("id", id).and("chave", usuarioBean.getUsuario().getChave()).parameters());
	}
	
	public void redirecionarSemAcesso(Long id, String pagina1, String pagina2) throws Exception {
		if (existePorIdChave(id)) {
			FacesContext.getCurrentInstance().getExternalContext().redirect(pagina1);
		}else {
			FacesContext.getCurrentInstance().getExternalContext().redirect(pagina2);
		}
	}
	
	public void redirecionarSemAcesso(Long id, String pagina) throws Exception {
		if (!existePorIdChave(id)) {
			FacesContext.getCurrentInstance().getExternalContext().redirect(pagina);
		}
	}
}
